package uploader

type FileVO struct {
	RealName     string `json:"realName"`     //原始文件名
	Name         string `json:"name"`         //附件名称
	AttDir       string `json:"attDir"`       //附件路径
	AttSize      string `json:"attSize"`      //附件大小
	AttType      string `json:"attType"`      //附件类型
	ContentType  string `json:"contentType"`  //http内容类型
	LocationType int    `json:"locationType"` //图片上传类型 1本地 2七牛云
	Key          string `json:"key"`          // 对象存储key
	Hash         string `json:"hash"`         // 哈希值
	Bucket       string `json:"bucket"`       // 空间
}

type FileRequest struct {
	RealName    string
	NewFileName string
	FileStream  []byte
	StreamSize  int
	Name        string
	FileType    string
	AttDir      string
}

type FileResponse struct {
	Status         string `json:"status"` //状态有: success error
	FileId         uint   `json:"fileId"`
	Path           string `json:"path"`
	Url            string `json:"url"`
	Name           string `json:"name"`
	Code           int    `json:"code"`
	FileFormerName string `json:"fileFormerName"`
}

type ShardFileRequest struct {
	Filename        string `json:"filename"`
	ChunkNumber     uint   `json:"chunkNumber"`
	ChunkSize       uint   `json:"chunkSize"`
	ActualChunkSize uint   `json:"actualChunkSize"`
	TotalChunks     uint   `json:"totalChunks"`
	TotalSize       uint   `json:"totalSize"`
	Hash            string `json:"hash"`
	UniqAt          string `json:"uniqAt"`
	FileByte        []byte `json:"fileByte"`
}

type ShardFileResponse struct {
	*FileVO
	Code uint8  `json:"code"`
	Url  string `json:"url"`
}
